/**
 * 
 */
package controllers;

import client.gui.panels.PanelIF;
import entities.Message;

/**
 *  Controller interface must be implemented by each controller
 */
public interface ControllerIF {
	
	/**
	 * returns the controller's subject panel
	 * @return PanelIF
	 */
	PanelIF getPanel();
	
	/**
	 * Set the controller's panel
	 * @param panel
	 */
	void setPanel(PanelIF panel);
	
	/**
	 * Controller's main function
	 */
	void action();
		
	/**
	 * receive any message from server
	 * @param message Message
	 */
	void decipherMessage(Message message);
	
}
